// pages/file/file.js
const app = getApp();
const PROFILEURL = wx.getStorageSync('PROFILEURL');
Page({

  /**
   * 页面的初始数据
   */
  data: {
    value: [1],
    grade: [1,2,3],
    input_grade: 1,
    input_plan: 10,
    userInfo: app.globalData.userInfo,
  },
  changeAvatar(e){
    const val = e.detail.avatarUrl;
    console.log('新的头像URL:', val);

    // 更新全局变量
    app.globalData.userInfo.avatarUrl = val;

    const openid = app.globalData.userInfo.openid;

    // if (!openid) {
    //   wx.showToast({
    //     title: '身份验证中，请稍后再试',
    //     icon: 'none'
    //   });
    //   return;
    // }

    const db = wx.cloud.database();

    // 更新数据库中对应的记录
    db.collection('user').where({
      _openid: openid
    }).update({
      data: {
        avatarUrl: val
      },
      success: res => {
        console.log('头像更新成功', res);
        wx.showToast({
          title: '头像更新成功',
          icon: 'success'
        });
      },
      fail: err => {
        console.error('头像更新失败', err);
        wx.showToast({
          title: '更新失败，请稍后再试',
          icon: 'none'
        });
      }
    });
  },

   nick(e){
    const val = e.detail.value;
    console.log('新的昵称:', val);

    // 更新全局变量
    app.globalData.userInfo.nickname = val;

    const openid = app.globalData.userInfo.openid;

    // if (!openid) {
    //   wx.showToast({
    //     title: '身份验证中，请稍后再试',
    //     icon: 'none'
    //   });
    //   return;
    // }

    const db = wx.cloud.database();

    // 更新数据库中对应的记录
    db.collection('user').where({
      _openid: openid
    }).update({
      data: {
        nickname: val
      },
      success: res => {
        console.log('昵称更新成功', res);
        wx.showToast({
          title: '昵称更新成功',
          icon: 'success'
        });
      },
      fail: err => {
        console.error('昵称更新失败', err);
        wx.showToast({
          title: '更新失败，请稍后再试',
          icon: 'none'
        });
      }
    });
  },

  bindChange(e) {
    const val = e.detail.value
    this.setData({
      input_grade: Number(val[0]+1),
      value: val
    })
    // console.log(this.data.value[0])
  },
  inputhandler(e){
    let val = e.detail.value
    this.setData({
      input_plan: Number(val)
    })
  },
  // 更新或创建 plan 记录
// pages/file/file.js
updateOrCreatePlan() {
  const db = wx.cloud.database();
  const { openid } = app.globalData.userInfo; // 从全局数据获取当前用户的 openid

  // 先查询当前 openid 是否已有对应的 plan 记录
  db.collection('plan').where({
    _openid: openid
  }).get({
    success: res => {
      if (res.data.length > 0) {
        // 已存在，更新记录
        const docId = res.data[0]._id; // 获取记录的 _id
        db.collection('plan').doc(docId).update({
          data: {
            input_grade: this.data.input_grade,
            input_plan: this.data.input_plan,
          },
          success: updateRes => {
            console.log('更新 plan 记录成功', updateRes);
          },
          fail: updateErr => {
            console.error('更新 plan 记录失败', updateErr);
          }
        });
      } else {
        // 不存在，创建新记录
        db.collection('plan').add({
          data: {
            _openid: openid,
            input_grade: this.data.input_grade,
            input_plan: this.data.input_plan,
          },
          success: addRes => {
            console.log('创建 plan 记录成功', addRes);
          },
          fail: addErr => {
            console.error('创建 plan 记录失败', addErr);
          }
        });
      }
    },
    fail: err => {
      console.error('查询 plan 记录失败', err);
    }
  });
},
  commit(){
    app.globalData.grade = this.data.input_grade;
    app.globalData.plan = this.data.input_plan;
    app.globalData.value = this.data.value;
    console.log(app.globalData.value[0]);
    this.updateOrCreatePlan();
    wx.showToast({
      title: '修改成功！',
      icon: 'success',
      duration: 1000
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    this.setData({
      input_plan:app.globalData.plan,
      input_grade:app.globalData.grade,
      value: app.globalData.value,
      userInfo: app.globalData.userInfo,
    })
    //console.log(this.data.value[0])
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})